#pragma once

class IFieldProperty
{
public:
	virtual ~IFieldProperty() {};

	virtual const void* GetValuePointer(const void* InObjectPtr) =0;
	virtual void* GetValuePointer( void* InObjectPtr) =0;
	virtual uint32_t GetFieldIndex() =0;

	//is this a static field property
	virtual bool IsStatic() =0;
	//get static field value address
	virtual void* GetStaticValuePointer() =0;
};
